package com.llc.mall.rbac.interfaces.vo;

import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serializable;
import java.util.List;

public record RouteMetaVO(
        @Schema(description = "设置该路由在侧边栏和面包屑中展示的名字")
        String title,
        @Schema(description = "设置该路由的图标，支持 svg-class，也支持 el-icon-x element-ui 的 icon")
        String icon,
        @Schema(description = "如果设置为true，则不会被 <keep-alive> 缓存(默认 false)")
        Boolean noCache,
        @Schema(description = "如果设置为false，则不会在breadcrumb面包屑中显示(默认 true)")
        Boolean breadcrumb,
        @Schema(description = "若果设置为true，它则会固定在tags-view中(默认 false)")
        Boolean affix,
        @Schema(description = "当路由设置了该属性，则会高亮相对应的侧边栏。 这在某些场景非常有用，比如：一个文章的列表页路由为：/article/list\n点击文章进入文章详情页，这时候路由为/article/1，但你想在侧边栏高亮文章列表的路由，就可以进行如下设置")
        String activeMenu,
        @Schema(description = "需要什么权限才能访问该菜单")
        List<String> roles
) implements Serializable {
}
